package com.example.wordmemory;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.example.wordmemory.utils.WordDBHelper;

//import org.jspecify.annotations.NonNull;

public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {

    private WordDBHelper dbHelper;//定义helper对象
    private EditText et_ruid,et_rpwd,et_rname,et_rdep;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        //用户名 密码 姓名 学院
        et_ruid = findViewById(R.id.et_ruid);
        et_rpwd = findViewById(R.id.et_rpwd);
        et_rname = findViewById(R.id.et_rname);
        et_rdep = findViewById(R.id.et_rdep);

                //注册按钮监听
        findViewById(R.id.btn_registeruser).setOnClickListener(this);
        //已有账号？立即登录 文本注册监听
        findViewById(R.id.tv_login).setOnClickListener(this);

        dbHelper = new WordDBHelper(this);//初始化helper对象
    }

    @Override
    public void onClick(View v) {
        int viewId = v.getId();
        if (viewId == R.id.btn_registeruser){
            attemptRegister();
        } else if (viewId == R.id.tv_login) {
            Intent i = new Intent();
            i.setClass(this, LoginActivity.class);
            startActivity(i);
        }
    }
    private void attemptRegister() {
        // 获取输入内容
        String username = et_ruid.getText().toString().trim(); // 用户名
        String password = et_rpwd.getText().toString().trim(); // 密码
        String name = et_rname.getText().toString().trim();    // 姓名
        String department = et_rdep.getText().toString().trim(); // 学院

        // 检查输入是否为空
        if(username.equals("") || password.equals("") || name.equals("") || department.equals("")){
            Toast.makeText(this,"输入框不能为空！",Toast.LENGTH_SHORT).show();
                return;
            }

        // 检查用户名是否已存在
        if(dbHelper.getUserByUsername(username).getCount() > 0){
            Toast.makeText(this, "用户名已存在", Toast.LENGTH_SHORT).show();
            return;
        }

        // 获取当前注册时间（格式化为 yyyy-MM-dd HH:mm:ss）
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String registerTime = sdf.format(new java.util.Date());

        // 插入用户数据
        long res = dbHelper.addUser(username, password, name, department, registerTime);
        if(res != -1){
            Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show();
            // 返回登录页面并传递数据
            Intent i = new Intent();
            i.putExtra("id", username);
            i.putExtra("pwd", password);
            i.putExtra("name", name);
            setResult(RESULT_OK, i);
            finish();
        } else {
            Toast.makeText(this, "注册失败", Toast.LENGTH_SHORT).show();
        }
    }
    @Override
    protected void onDestroy() {
        dbHelper.close();
        super.onDestroy();
    }
}